<!--动态生成面包屑-->
<template>
    <div class="FileBreadcrumb">
        <el-breadcrumb separator="/">
            <el-breadcrumb-item
                v-for="(item, i) in tempData" :key="i">
                <a style="text-decoration:none;" href="javascript:void(0)" @click.prevent.stop="qryTableData(item)" >{{item.name}}</a>
            </el-breadcrumb-item>
        </el-breadcrumb>
    </div>
</template>

<script>
    import ajax from '@api/ajax'
    import {MGNDIRQUERY1} from '@api/url'
    export default {
        name: 'FileBreadcrumb',
        data () {
            return {
                queryArr: '',
                menuData: [
                    // {
                    //     menuId: 'menu_gp1',
                    //     name: '全部文件',
                    //     type: '0', // 0:文件夹  1：文件
                    //     lastUpdTime: '202101291453',
                    //     parentId: '0',
                    //     childrens: [
                    //         {
                    //             menuId: 'menu_gp2',
                    //             name: '文件夹1',
                    //             type: '0', // 0:文件夹  1：文件
                    //             lastUpdTime: '202101291454',
                    //             parentId: 'menu_gp1',
                    //             childrens: [
                    //                 {
                    //                     menuId: 'menu_tb1',
                    //                     name: '文件夹2',
                    //                     type: '0', // 0:文件夹  1：文件
                    //                     lastUpdTime: '202101291455',
                    //                     parentId: 'menu_gp2'
                    //                 },{
                    //                     menuId: 'menu_tb2',
                    //                     name: '文件夹3',
                    //                     type: '0', // 0:文件夹  1：文件
                    //                     lastUpdTime: '202101291456',
                    //                     parentId: 'menu_gp2'
                    //                 }
                    //             ]
                    //         },
                    //         {
                    //             menuId: 'menu_gp3',
                    //             name: '文件夹4',
                    //             type: '0', // 0:文件夹  1：文件
                    //             lastUpdTime: '202101291457',
                    //             parentId: 'menu_gp1'
                    //         }
                    //     ]
                    // },
                ],
                tempData: [],
                tableData: [],
                currentIds: 'menu_tb1'
            }
        },
        props: {
            childData: {
                type: Array
            },
            currentReportObject: {
                type: Object
            }
        },
        watch: {
            // childData (newVal, oldVal) {
            //     debugger
            //     this.menuData = newVal
            //     newVal && this.familyTree(this.menuData, this.currentReportObject.menuId)
            // }
            currentReportObject (newVal, oldVal) {
                debugger
                this.currentReportObject = newVal
                newVal && this.familyTree(this.menuData, this.currentReportObject.menuId)
            }
        },
        methods: {
            // 点击面包屑当前节点，查找上级所有父节点，且返回给父组件当前节点下级子数据
            qryTableData (item) {
                debugger
                // this.familyTree(this.childData, id)
                let param = {
                    menuId: item.menuId,
                    type: '6'
                }
                let isQuery = true
                    if (this.queryArr === item.menuId) {
                        isQuery = false
                    }
                if (isQuery) {
                    ajax.post(MGNDIRQUERY1, param).then(res => {
                        this.queryArr = item.id
                        this.$emit('getMenuData', res.data)
                        this.familyTree(this.menuData, item.menuId)
                    })
                }
            },
            // 递归查找上级所有节点
            familyTree (arr1, menuId) {
                // 声明数据集合
                let temp = []
                // 递归函数
                let findNodeId = (arr, menuId) => {
                    for (let i = 0; i < arr.length; i++) {
                        let item = arr[i]
                        // 查找当前节点
                        if (item.menuId === menuId) {
                            temp.push(item)
                            findNodeId(arr1, item.parentId)
                            break
                        } else {
                            if (item.children) {
                                // 向下找到节点
                                findNodeId(item.children, menuId)
                            }
                        }
                    }
                }
                findNodeId(arr1, menuId)
                this.tempData = temp.reverse()
                this.tempData.unshift({attr: '1', menuId: '0', name: '全部文件'})
                return this.tempData
            },
            qryAllMenuData () {
                let param = {
                    menuId: '0',
                    type: '6'
                }
                ajax.post(MGNDIRQUERY1, param).then(res => {
                    this.menuData = res.data
                    console.info(this.menuData)
                    this.familyTree(this.menuData, '0')
                }).catch(err => {
                    console.error('查询失败！', err)
                }).finally(() => {

                })
            }
        },
        created () {
            this.qryAllMenuData()
            console.info(this.currentReportObject)
        }
    }
</script>

<style scoped>

</style>
